package com.ruoyi.system.service.tools.impl;

import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.tools.ToolsWord;
import com.ruoyi.system.mapper.tools.ToolsWordMapper;
import com.ruoyi.system.service.tools.IToolsWordService;

/**
 * 单词学习Service业务层处理
 * 
 * @author syc
 * @date 2022-12-05
 */
@Service
public class ToolsWordServiceImpl implements IToolsWordService {
	@Autowired
	private ToolsWordMapper toolsWordMapper;

	/**
	 * 查询单词学习
	 * 
	 * @param id 单词学习主键
	 * @return 单词学习
	 */
	@Override
	public ToolsWord selectToolsWordById(Long id) {
		return toolsWordMapper.selectToolsWordById(id);
	}

	/**
	 * 查询单词学习列表
	 * 
	 * @param toolsWord 单词学习
	 * @return 单词学习
	 */
	@Override
	public List<ToolsWord> selectToolsWordList(ToolsWord toolsWord) {
		return toolsWordMapper.selectToolsWordList(toolsWord);
	}

	/**
	 * 新增单词学习
	 * 
	 * @param toolsWord 单词学习
	 * @return 结果
	 */
	@Override
	public int insertToolsWord(ToolsWord toolsWord) {
		toolsWord.setCreateTime(DateUtils.getNowDate());
		return toolsWordMapper.insertToolsWord(toolsWord);
	}

	/**
	 * 修改单词学习
	 * 
	 * @param toolsWord 单词学习
	 * @return 结果
	 */
	@Override
	public int updateToolsWord(ToolsWord toolsWord) {
		toolsWord.setUpdateTime(DateUtils.getNowDate());
		return toolsWordMapper.updateToolsWord(toolsWord);
	}

	/**
	 * 批量删除单词学习
	 * 
	 * @param ids 需要删除的单词学习主键
	 * @return 结果
	 */
	@Override
	public int deleteToolsWordByIds(Long[] ids) {
		return toolsWordMapper.deleteToolsWordByIds(ids);
	}

	/**
	 * 删除单词学习信息
	 * 
	 * @param id 单词学习主键
	 * @return 结果
	 */
	@Override
	public int deleteToolsWordById(Long id) {
		return toolsWordMapper.deleteToolsWordById(id);
	}

	@Override
	public int updateToolsWordList(List<ToolsWord> toolsWordList) {
		if (toolsWordList != null && toolsWordList.size() > 0) {
			for (ToolsWord toolsWord : toolsWordList) {
				if (StringUtils.isNotBlank(toolsWord.getWordtest())) {
					toolsWord.setRemark(toolsWord.getWordtest());
					if (toolsWord.getWordtest().equals(toolsWord.getWordEnglish())) {
						toolsWord.setStatus("3");
				    } else {
				    	toolsWord.setStatus("2");
				    }
					toolsWordMapper.updateToolsWord(toolsWord);	
				}
			} 
		}else {
			return 0;
		}
		return 1;
	}
}
